python學習 列表不同操作的時間效率

#timeit模塊可以測試一小段python代碼的運行速度
from timeit import Timer
def test1():
    list_0 = []
    for i in range(10000):
        list_0.append(i)

def test2():
    list_0 = []
    for i in range(10000):
        list_0 += [i]

def test3():
    list_0 = [i for i in range(10000)]

def test4():
    list_0 = list(range(10000))

def test5():
    list_0 = []
    for i in range(10000):
        list_0.extend([i])

def test6():
    list_0 = []
    for i in range(10000):
        list_0.insert(0,i)

timer1= Timer('test1()','from __main__ import test1')
time_total = timer1.timeit(1000)
print('append 一共花費了:%f秒'%time_total)

timer2= Timer('test2()','from __main__ import test2')
time_total = timer2.timeit(1000)
print('  +  一共花費了:%f秒'%time_total)

timer3= Timer('test3()','from __main__ import test3')
time_total = timer3.timeit(1000)
print('[i for i in range] 一共花費了:%f秒'%time_total)

timer4= Timer('test4()','from __main__ import test4')
time_total = timer4.timeit(1000)
print('list(range()) 一共花費了:%f秒'%time_total)

timer5= Timer('test5()','from __main__ import test5')
time_total = timer5.timeit(1000)
print('extend 一共花費了:%f秒'%time_total)

timer6= Timer('test6()','from __main__ import test6')
time_total = timer6.timeit(1000)
print('insert(0) 一共花費了:%f秒'%time_total)

運行結果:
在這裏插入圖片描述
分析上述關於列表的操作
我們發現同樣是對列表添加成員,append(從末尾添加)比insert(從起始添加)更節省時間。不同的操作實質上是不同的算法,比如 “+”運算的時間效率很低,瞭解這些有助於我們在程序開發時提高代碼效率。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章